package com.hcj.testCallBack;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

/**
 * @Author: HuangChangjin 2017-12-03 15:50
 * @Description: 场景，A打电话给B,咨询1+1等于几，B说手头有10件事，太忙碌了，待会回电话给A,A说：那行，我先打会王者荣耀，你知道答案的话，待会回个电话给我
 */
public class A implements CallBack {
    public static final Logger log =  LoggerFactory.getLogger(A.class);
    // 拥有B的联系方式
    private B b;

    public A(B b){
        this.b = b;
    }
    // 有问问题的权限
    public void sakQuestion(String question){
        //
        //System.out.println("A的问题是====》" + question);
        log.info("A的问题是====》{}",question);
        // 只管问，不用在线等答案
        new Thread(new Runnable(){

            @Override
            public void run() {
                log.info("B回电话给=====》{}", "线程A");
                b.giveMessage(A.this, question);
            }
        }, "处理A问题的线程").start();
        // 问完，就打王者荣耀了
        playGame();
    }

    private void playGame() {
        //System.out.println("既然你在忙，我就打会王者荣耀哈。。。。。");
        log.info("既然你在忙，我就打会王者荣耀哈。。。。。");

    }

    @Override
    public void solve(String qustion, String result) {
        System.out.println("B告诉A,"+ qustion+"=>>>>"+ result);
    }

    public static void main(String[] args){
        B b = new B();
        A a = new A(b);
        a.sakQuestion("1+1=多少呀");
    }
}
